#ifndef CONFIG_H_
#define CONFIG_H_

#include <iostream>
#include <string>
#include <sstream>
#include <cstdio>

class Config {
public:
	//main - ALMOST ALL DONE - see TODO
	static const std::string getFirstPagesFileName(); //TODO
	static const bool runInitializationScript();
	static const bool redirectCOutToFile();
	static const uint getQueueThreadStackSize();
	static const uint getNumQueueThreads();
	static const uint getDownloaderThreadStackSize();
	static const uint getNumDownloaderThreads();
	
	//URLNormalizer - TODO
	static const std::string getWellKnownFilesFileName(); //melhor nome, eh? //TODO
	
	//ManagerBerthier - ALL DONE
	static const uint getTimeBetweenVisits();
	static const uint getUrlsPerQueue();
	static const uint getRobotsThreadStackSize();
	static const uint getMaxRobotsThreads();
	
	//URLDiskClass
//	static const int getBufferUrlPathSize();
//	static const uint getBufferUrlDomainSize();
//	static const uint getBufferUrlProtocolSize();
	
	//DownloadParser - TODO
	static const std::string getUrlRejeita();
	static const std::string getWellKnownFormatsFileName();
	
	//Repository -ALL DONE
	static const std::string getPageCountFileName();
	
	//ThreadFunctionDatabase - ALL DONE
	static const uint getQueueThreadSleepTime();
	static const uint getDownloaderThreadSleepTime();
	static const uint getDownloaderThreadNumSleeps();
	
	//URLFileDealer
	static const uint getMaxNumUrlsFromDisk();
	
	//blah
	static const bool recordStatistics();
	
};

#endif /*CONFIG_H_*/
